home *** CD-ROM | disk | FTP | other *** search
- /*
- * (c) Copyright 1993, Silicon Graphics, Inc.
- * ALL RIGHTS RESERVED
- * Permission to use, copy, modify, and distribute this software for
- * any purpose and without fee is hereby granted, provided that the above
- * copyright notice appear in all copies and that both the copyright notice
- * and this permission notice appear in supporting documentation, and that
- * the name of Silicon Graphics, Inc. not be used in advertising
- * or publicity pertaining to distribution of the software without specific,
- * written prior permission.
- *
- * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
- * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
- * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
- * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
- * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
- * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
- * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
- * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
- * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
- * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- *
- * US Government Users Restricted Rights
- * Use, duplication, or disclosure by the Government is subject to
- * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
- * (c)(1)(ii) of the Rights in Technical Data and Computer Software
- * clause at DFARS 252.227-7013 and/or in similar or successor
- * clauses in the FAR or the DOD or NASA FAR Supplement.
- * Unpublished-- rights reserved under the copyright laws of the
- * United States. Contractor/manufacturer is Silicon Graphics,
- * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
- *
- * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
- */
- #ifndef _GLwDrawA_h
- #define _GLwDrawA_h
-
- #include <GL/glx.h>
- #include <GL/gl.h>
-
- /****************************************************************
- *
- * GLwDrawingArea widgets
- *
- ****************************************************************/
-
- /* Resources:
-
- Name Class RepType Default Value
- ---- ----- ------- -------------
- attribList AttribList int * NULL
- visualInfo VisualInfo VisualInfo NULL
- installColormap InstallColormap Boolean TRUE
- allocateBackground AllocateColors Boolean FALSE
- allocateOtherColors AllocateColors Boolean FALSE
- installBackground InstallBackground Boolean TRUE
- exposeCallback Callback Pointer NULL
- ginitCallback Callback Pointer NULL
- inputCallback Callback Pointer NULL
- resizeCallback Callback Pointer NULL
-
- *** The following resources all correspond to the GLX configuration
- *** attributes and are used to create the attribList if it is NULL
- bufferSize BufferSize int 0
- level Level int 0
- rgba Rgba Boolean FALSE
- doublebuffer Doublebuffer Boolean FALSE
- stereo Stereo Boolean FALSE
- auxBuffers AuxBuffers int 0
- redSize ColorSize int 1
- greenSize ColorSize int 1
- blueSize ColorSize int 1
- alphaSize AlphaSize int 0
- depthSize DepthSize int 0
- stencilSize StencilSize int 0
- accumRedSize AccumColorSize int 0
- accumGreenSize AccumColorSize int 0
- accumBlueSize AccumColorSize int 0
- accumAlphaSize AccumAlphaSize int 0
- */
-
- #define GLwNattribList "attribList"
- #define GLwCAttribList "AttribList"
- #define GLwNvisualInfo "visualInfo"
- #define GLwCVisualInfo "VisualInfo"
- #define GLwRVisualInfo "VisualInfo"
-
- #define GLwNinstallColormap "installColormap"
- #define GLwCInstallColormap "InstallColormap"
- #define GLwNallocateBackground "allocateBackground"
- #define GLwNallocateOtherColors "allocateOtherColors"
- #define GLwCAllocateColors "AllocateColors"
- #define GLwNinstallBackground "installBackground"
- #define GLwCInstallBackground "InstallBackground"
-
- #define GLwCCallback "Callback"
- #define GLwNexposeCallback "exposeCallback"
- #define GLwNginitCallback "ginitCallback"
- #define GLwNresizeCallback "resizeCallback"
- #define GLwNinputCallback "inputCallback"
-
- #define GLwNbufferSize "bufferSize"
- #define GLwCBufferSize "BufferSize"
- #define GLwNlevel "level"
- #define GLwCLevel "Level"
- #define GLwNrgba "rgba"
- #define GLwCRgba "Rgba"
- #define GLwNdoublebuffer "doublebuffer"
- #define GLwCDoublebuffer "Doublebuffer"
- #define GLwNstereo "stereo"
- #define GLwCStereo "Stereo"
- #define GLwNauxBuffers "auxBuffers"
- #define GLwCAuxBuffers "AuxBuffers"
- #define GLwNredSize "redSize"
- #define GLwNgreenSize "greenSize"
- #define GLwNblueSize "blueSize"
- #define GLwCColorSize "ColorSize"
- #define GLwNalphaSize "alphaSize"
- #define GLwCAlphaSize "AlphaSize"
- #define GLwNdepthSize "depthSize"
- #define GLwCDepthSize "DepthSize"
- #define GLwNstencilSize "stencilSize"
- #define GLwCStencilSize "StencilSize"
- #define GLwNaccumRedSize "accumRedSize"
- #define GLwNaccumGreenSize "accumGreenSize"
- #define GLwNaccumBlueSize "accumBlueSize"
- #define GLwCAccumColorSize "AccumColorSize"
- #define GLwNaccumAlphaSize "accumAlphaSize"
- #define GLwCAccumAlphaSize "AccumAlphaSize"
-
- #ifdef __GLX_MOTIF
-
- typedef struct _GLwMDrawingAreaClassRec *GLwMDrawingAreaWidgetClass;
- typedef struct _GLwMDrawingAreaRec *GLwMDrawingAreaWidget;
-
- extern WidgetClass glwMDrawingAreaWidgetClass;
-
-
- #else
-
- typedef struct _GLwDrawingAreaClassRec *GLwDrawingAreaWidgetClass;
- typedef struct _GLwDrawingAreaRec *GLwDrawingAreaWidget;
-
- extern WidgetClass glwDrawingAreaWidgetClass;
-
-
- #endif
-
-
- /* Callback reasons */
- #ifdef __GLX_MOTIF
- #define GLwCR_EXPOSE XmCR_EXPOSE
- #define GLwCR_RESIZE XmCR_RESIZE
- #define GLwCR_INPUT XmCR_INPUT
- #else
- /* The same values as Motif, but don't use Motif constants */
- #define GLwCR_EXPOSE 38
- #define GLwCR_RESIZE 39
- #define GLwCR_INPUT 40
- #endif
-
- #define GLwCR_GINIT 32135 /* Arbitrary number that should neverr clash */
-
- typedef struct
- {
- int reason;
- XEvent *event;
- Dimension width,height;
- }
- GLwDrawingAreaCallbackStruct;
-
- #if defined(__cplusplus) || defined(c_plusplus)
- extern "C" {
- #endif
-
- /* front ends to glXMakeCurrent and glXSwapBuffers */
- extern void GLwDrawingAreaMakeCurrent(Widget w,GLXContext ctx);
- extern void GLwDrawingAreaSwapBuffers(Widget w);
-
- #ifdef __GLX_MOTIF
- #ifdef _NO_PROTO
- extern Widget GLwCreateMDrawingArea();
- #else
- extern Widget GLwCreateMDrawingArea(Widget parent,char *name,ArgList arglist,Cardinal argcount);
- #endif
- #endif
-
- #if defined(__cplusplus) || defined(c_plusplus)
- }
- #endif
-
- #endif
-